package com.cn.zpark;

import com.cn.zpark.utils.DBUtils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;

/**
 * @PackageName: com.cn.zpark
 * @ClassName: JdbcLoginTest
 * @Description:
 * @author: RZS
 * @date: 2022/3/30  16:33
 */
public class JdbcLoginTest {
    /**
     * 登录案例：
     *      登录流程：
     *          1、提示用户输入用户名
     *          2、提示用户输入密码
     *          3、用户点击提交
     *          4、后台接收用户用户名、密码
     *          5、拿着用户名前往数据库查询数据
     *          6、如果查询有结果，则比较密码
     *          7、密码对比成功，提示登录成功，否则提示登录失败
     */
    public static void main(String[] args) {
        // 创建扫描器对象
        Scanner scan = new Scanner(System.in);
        // 提示用户输入用户名、密码
        System.out.println("请输入您的用户名：");
        // 接收用户名
        String username = scan.nextLine();

        System.out.println("请输入您的密码：");
        // 接收密码
        String password = scan.nextLine();

        // 定义连接信息
        Connection conn = null;
        Statement stat = null;
        ResultSet res = null;

        try {
            // 获取连接
            conn = DBUtils.getConn();
            // 获取statement对象
            stat = conn.createStatement();
            // 创建sql语句
            String sql = "select id, uname, pwd from tab1 where uname='"+username+"' and pwd='"+password+"'";
            System.out.println(sql);
            // 执行sql，并且获取结果集
            res = stat.executeQuery(sql);

            // 判断是否登录成功
            if(res.next()){
                System.out.println("登录成功");
            }else{
                System.out.println("登录失败");
            }

        } catch(Exception e) {
            e.printStackTrace();
        } finally {
            // 释放资源
            DBUtils.close(conn, res, stat);
        }

    }
}
